package com.xk.school_device.entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author xk
 * @since 2025-04-16
 */
@Getter
@Setter
@Accessors(chain = true)
@ApiModel(value = "Menus对象", description = "")
public class Menus implements Serializable {

    private static final long serialVersionUID = 1L;

    private String menuId;

    @ApiModelProperty("菜单名称")
    private String menuName;

    @ApiModelProperty("父菜单ID")
    private String parentMenuId;

    @ApiModelProperty("路由路径")
    private String path;

    @ApiModelProperty("前端组件")
    private String component;

    @ApiModelProperty("菜单图标")
    private String icon;

    @ApiModelProperty("排序号")
    private Integer orderNum;

    @ApiModelProperty("是否隐藏(0:显示 1:隐藏)")
    private Boolean isHidden;

    private LocalDateTime createdAt;

    public Menus() {
    }

    public Menus(String menuId, String menuName, String parentMenuId, String path, String component, String icon, Integer orderNum, Boolean isHidden, LocalDateTime createdAt) {
        this.menuId = menuId;
        this.menuName = menuName;
        this.parentMenuId = parentMenuId;
        this.path = path;
        this.component = component;
        this.icon = icon;
        this.orderNum = orderNum;
        this.isHidden = isHidden;
        this.createdAt = createdAt;
    }

    public String getMenuId() {
        return menuId;
    }

    public void setMenuId(String menuId) {
        this.menuId = menuId;
    }

    public String getMenuName() {
        return menuName;
    }

    public void setMenuName(String menuName) {
        this.menuName = menuName;
    }

    public String getParentMenuId() {
        return parentMenuId;
    }

    public void setParentMenuId(String parentMenuId) {
        this.parentMenuId = parentMenuId;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Boolean getHidden() {
        return isHidden;
    }

    public void setHidden(Boolean hidden) {
        isHidden = hidden;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
}
